This invention relates to improved means and methods for providing high speed conversion of binary coded decimal (BCD) numbers to straight binary form.
Decimal numbers are frequently introduced into digital computers in BCD form. An overwhelming majority of digital computers operate internally to the binary number system. A means and method for converting BDC to straight binary is required in the operation of digital computers.
Many ways for converting from BCD to binary are known to the prior art. Various of these known approaches are described and referenced in the article "A Method for High Speed BCD-to-Binary Conversion". L. C. Beougher, Computer Design, March 1973, pp. 53-59. The Beougher BCD-to-binary conversion approach is based on the addition of columns of BCD bits produced by a power of 2 expansion of each BCD digit. For example, the number 34567 can be expressed as 3(10.sup.4)+4(10.sup.3)+5(10.sup.2)+6(10.sup.1)+7(10.sup.0)=3(2.sup.13 +2.sup.10 +2.sup.9 +2.sup.8 +2.sup.4)+4(2.sup.9 +2.sup.8 +2.sup.7 +2.sup.6 +2.sup.5 +2.sup.3)+5(2.sup.6 +2.sup.5 +2.sup.2)+6(2.sup.3 +2.sup.1)+7(2.sup.0). The BCD representation of each digit is lined up under the corresponding binary bits (power of 2), and the entire set of expressions added up. The Beougher approach is implemented using a complex tree structure of 4-bit binary adders and look-ahead carry generators.
The embodiments disclosed in the above referenced related patent applications use as a starting point the same powers of 2 expansion as taught by Beougher. Improvement is achieved in the referenced applications by employing a novel arrangement of PROMs (programmable read-only memories) which achieves significantly faster BCD to binary conversion and a reduced hardware requirement when compared to the tree of adders approach.
Obviously, the expression of decimal numbers as powers of 2 grows rapidly in complexity. For example, 8 BCD digits expressed as powers of 2 prior to their being added up have two columns with 13 BCD bits to be added. Going to just 12 BCD digits means that at least one column would have 19 BCD bits to be added.